{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!pip install quantdsl"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Overwriting powerplant.py\n"
     ]
    }
   ],
   "source": [
    "%%writefile powerplant.py\n",
    "from quantdsl.semantics import Choice, TimeDelta, Wait, inline\n",
    "\n",
    "\n",
    "def PowerPlant(start, end, temp):\n",
    "    if (start < end):\n",
    "        Wait(start, Choice(\n",
    "            PowerPlant(Tomorrow(start), end, Hot()) + ProfitFromRunning(start, temp),\n",
    "            PowerPlant(Tomorrow(start), end, Stopped(temp))\n",
    "        ))\n",
    "    else:\n",
    "        return 0\n",
    "\n",
    "\n",
    "@inline\n",
    "def Power(start):\n",
    "    DayAhead(start, 'POWER')\n",
    "\n",
    "\n",
    "@inline\n",
    "def Gas(start):\n",
    "    DayAhead(start, 'GAS')\n",
    "\n",
    "\n",
    "@inline\n",
    "def DayAhead(start, name):\n",
    "    ForwardMarket(Tomorrow(start), name)\n",
    "\n",
    "    \n",
    "@inline\n",
    "def Tomorrow(start):\n",
    "    start + TimeDelta('1d')\n",
    "\n",
    "\n",
    "@inline\n",
    "def ProfitFromRunning(start, temp):\n",
    "    if temp == Cold():\n",
    "        return 0.3 * Power(start) - Gas(start)\n",
    "    elif temp == Warm():\n",
    "        return 0.6 * Power(start) - Gas(start)\n",
    "    else:\n",
    "        return Power(start) - Gas(start)\n",
    "\n",
    "\n",
    "@inline\n",
    "def Stopped(temp):\n",
    "    if temp == Hot():\n",
    "        Warm()\n",
    "    else:\n",
    "        Cold()\n",
    "\n",
    "\n",
    "@inline\n",
    "def Hot():\n",
    "    2\n",
    "\n",
    "\n",
    "@inline\n",
    "def Warm():\n",
    "    1\n",
    "\n",
    "\n",
    "@inline\n",
    "def Cold():\n",
    "    0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "gas_and_power = {\n",
    "    'name': 'quantdsl.priceprocess.blackscholes.BlackScholesPriceProcess',\n",
    "    'market': ['GAS', 'POWER'],\n",
    "    'sigma': [0.1, 0.1],\n",
    "    'rho': [[1.0, 0.8], [0.8, 1.0]],\n",
    "    'curve': {\n",
    "        'GAS': [\n",
    "            ('2011-1-1', 1),\n",
    "            ('2012-1-1', 13.5),\n",
    "            ('2012-1-2', 19.4),\n",
    "            ('2012-1-3', 10.5),\n",
    "            ('2012-1-4', 10.3),\n",
    "            ('2012-1-5', 10.1),\n",
    "            ('2012-1-6', 10.2),\n",
    "        ],\n",
    "        'POWER': [\n",
    "            ('2011-1-1', 11),\n",
    "            ('2012-1-1', 15.5),\n",
    "            ('2012-1-2', 14.0),\n",
    "            ('2012-1-3', 15.0),\n",
    "            ('2012-1-4', 11.0),\n",
    "            ('2012-1-5', 1.0),\n",
    "            ('2012-1-6', 15.0),\n",
    "        ]\n",
    "    }\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiled 79 nodes \n",
      "Compilation in 0.847s\n",
      "Simulation in 0.174s\n",
      "Starting 1267 node evaluations, please wait...\n",
      "1267/1267 100.00% complete 84.68 eval/s running 15s eta 0s     \n",
      "Evaluation in 14.962s\n"
     ]
    }
   ],
   "source": [
    "from quantdsl import calc\n",
    "\n",
    "results = calc(\n",
    "    source_code=(\"from powerplant import PowerPlant, Cold, Date\\n\"\n",
    "                 \"PowerPlant(Date('2012-1-1'), Date('2012-1-12'), Cold())\"),\n",
    "    observation_date='2011-1-1',\n",
    "    interest_rate=2.5,\n",
    "    periodisation='daily',\n",
    "    price_process=gas_and_power,\n",
    "    verbose=True\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n8xkWLVpU92Nbr+5blCRJUtd3zuZ13t4bK12kV69eywLyscceyyWXXMIXv/hFPvaxj3HSSSfxi1/8\ngiVLljBhwgTOOusszj//fMaMGcOUKVMYMWIEDz/8MDvttBNTpkzhuOOO4+2332bGjBkMHz6cRx55\nhKOOOooLL7xwuX3OmjWL7bffnmnTprFkyRIOPPBArrvuOo499ti6Hr491ZIkSep073//+5k+fTp3\n3XUXPXv25LOf/SxQ9GZfcMEFXH755cyfP5999tmHKVOmADBlyhROPPHEZcH8gQceYOTIkfTo0aND\n++zRowd77rknzz//fN2Px1AtSZKkTrV48WJuu+02dt99dx5//HFGjhy5XPtmm23GwIEDmT59+rKe\naihC9Qc+8AE23HBD5s2bx5QpU9hnn32WrffTn/50ueEf77zzznLbXbBgAffffz+HHHJI3Y/JUC1J\nkqRO8c477zBixAiampoYOHAgJ5xwwkrXGTRoEAsXLuSll17iqaeeYuedd2bUqFHcf//9TJkyhTFj\nxixb9qijjmLatGnLHr169QJgxowZjBgxgm222Ya+ffsybNiwuh+bY6olSZLUKWrHVLcYOnQoN9xw\nw3Lz3nzzTZ599ll22GEHAPbZZx+uv/56+vbtS0Sw995787vf/Y4HHniA0aNHr3S/LWOqX3nlFcaM\nGcOkSZM44ogj6ndg2FMtSZKkBtp///2ZP38+V155JQBLlizh9NNP5/jjj2ejjTYCilD9ne98Z1mA\nHj16NFdeeSXbbrstm2/e8Qsue/fuzcSJE/nWt75V9+MwVEuSJKlhIoIbb7yR66+/nh133JGddtqJ\nnj17ct555y1bZsyYMcycOXNZqO7bty9LlixZbjw1vHtMdctY7Fpjx45l/vz53HvvvfU9jsys6wY7\nQ1NTU06dOrXu221ubgZg8uTJdd+2JElSIz355JPssssujS6jy2rr9YmIBzOzqSPr21MtSZIkVWSo\nliRJkioyVEuSJEkVGaolSZK6ibXxWrrOUI/XxVAtSZLUDfTs2ZO5c+carFvJTObOnUvPnj0rbccv\nf5EkSeoG+vfvz+zZs5kzZ06jS+lyevbsSf/+/Sttw1AtSZLUDay//voMGTKk0WWsszpt+EdEDIiI\n30TEExHxeEScWs7fKiLujIj/Lf/dsrNqkiRJkuqhM8dULwZOz8yhwN7AyRExFDgT+HVm7gj8upyW\n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\ndURcDhwO/Dkzd2ujPYDvAocC84HjM/Ohsm088JVy0W9m5o9Wp4bZs2ez6aabMnjwYIrdqUVmMnfu\nXGbPns2QIUMaXY4kSdI6p17DP64ADllB+4cpvsJ2R2ACcDFARGwFfBXYC9gT+GpEbLk6BSxYsICt\nt97aQN2GiGDrrbe2F1+SJGkNqUuozsx7gFdXsMiRwJVZuA/YIiL6AgcDd2bmq5n5GnAnKw7nK2Sg\nbp+vjSRJ0prTWRcq9gOeq5meXc5rb/5a6eWXX2bcuHFst912jBw5ktGjR3PjjTcuaz/ttNPo168f\nS5cuXW6dww8/nOHDhzN06FAOPfTQRpSudVhzczPNzc2NLqNTeczdg8fcPXjM67515XjXmgsVI2IC\nxdARBg4cuNLlB595S133P2viYStsz0zGjh3L+PHjufrqqwF45plnmDRpEgBLly7lxhtvZMCAAdx9\n993st99+AJx99tkceOCBnHrqqQA88sgjda1bWpe19z5/aebcFbbDyt/TXdGKjsdjfre18XjBY27N\nY363de2Y15XfX50Vqp8HBtRM9y/nPQ80t5o/ua0NZOalwKUATU1NuSaKrOKuu+5igw024MQTT1w2\nb9CgQXzhC18AYPLkyey6664cddRRXHPNNctC9YsvvshBBx20bJ1hw4Z1buHSOmjbcRMbXUKn85i7\nB4+5e+hux7yuHG9nDf+YBHwmCnsDb2Tmi8AdwEERsWV5geJB5by1zuOPP8773ve+dtuvueYajjnm\nGD760Y9yyy23sGjRIgBOPvlkTjjhBPbbbz/OPfdcXnjhhc4qWZIkSXVSl1AdEdcAvwd2jojZEXFC\nRJwYES3dtrcCM4HpwPeBfwDIzFeBbwB/KB9fL+et9U4++WSGDx/OqFGjWLhwIbfeeitjx45ls802\nY6+99uKOO4q/HQ4++GBmzpzJ5z//eZ566in22GMP5syZ0+DqJUmStCrqMvwjM49ZSXsCJ7fTdjlw\neT3qaKRdd92Vn/3sZ8umL7roIl555RWampq44447eP3119l9990BmD9/Pr169eLwww8HYKuttmLc\nuHGMGzeOww8/nHvuuYePf/zjDTkOSZIkrTq/prxOPvShD7FgwQIuvvjiZfPmz58PFEM/fvCDHzBr\n1ixmzZrF008/zZ133sn8+fO56667li03b948ZsyY0aELMSVJktR1GKrrJCK46aabuPvuuxkyZAh7\n7rkn48eP52tf+xq33347hx3216tWN954Y/bdd19uvvlmHnzwQZqamhg2bBijR4/mc5/7HKNGjWrg\nkUiSJGlVrTW31FtVjbj1St++fbn22mvfNX/8+PHvmvfzn/982fMzzjhjjdYlSZKkNcueakmSJKki\nQ7UkSZJUkaFakiRJqshQLUmSJFVkqJYkSZIqMlRLkiRJFa2zt9RrhB49erD77ruzePFidtllF370\nox+x0UYbMXv2bE4++WSeeOIJli5dyuGHH87555/PBhtswB577MEPf/hDRowYweLFi9liiy245JJL\nOO644wAYOXIk3//+93nkkUc444wz6Nev37L9XX311Wy00Ubssssu7LzzzixcuJCmpiYuu+wy1l9/\n/Ua9DGqQwWfe0ub8l2bOXWE7NOYWlJIkrUvW3VB9zuZ13t4bK12kV69eTJs2DYBjjz2WSy65hC9+\n8Yt87GMf46STTuIXv/gFS5YsYcKECZx11lmcf/75jBkzhilTpjBixAgefvhhdtppJ6ZMmcJxxx3H\n22+/zYwZMxg+fDiPPPIIRx11FBdeeOFy+5w1axbbb78906ZNY8mSJRx44IFcd911HHvssfU9fkmS\nJLXL4R9ryPvf/36mT5/OXXfdRc+ePfnsZz8LFL3ZF1xwAZdffjnz589nn332YcqUKQBMmTKFE088\ncVkwf+CBBxg5ciQ9evTo0D579OjBnnvuyfPPP79mDkqSJEltMlSvAYsXL+a2225j99135/HHH2fk\nyJHLtW+22WYMHDiQ6dOnL+uphiJUf+ADH2DDDTdk3rx5TJkyhX322WfZej/96U8ZMWLEssc777yz\n3HYXLFjA/fffzyGHHLLmD1KSJEnLGKrr6J133mHEiBE0NTUxcOBATjjhhJWuM2jQIBYuXMhLL73E\nU089xc4778yoUaO4//77mTJlCmPGjFm27FFHHcW0adOWPXr16gXAjBkzGDFiBNtssw19+/Zl2LBh\na+wYJUmS9G51GVMdEYcA3wV6AD/IzImt2i8A9isnNwLek5lblG1LgEfLtmcz84h61NQItWOqWwwd\nOpQbbrhhuXlvvvkmzz77LDvssAMA++yzD9dffz19+/YlIth777353e9+xwMPPMDo0aNXut+WMdWv\nvPIKY8aMYdKkSRxxxFr7MkqSJK11KvdUR0QP4CLgw8BQ4JiIGFq7TGZ+MTNHZOYI4D+Bn9c0v9PS\n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\nAn5xjuVfp5tfLUmSJE0kr6goSZIkNbKpliRJkhrZVEuSJEmNbKolSZKkRjbVkiRJUiObakmSJKmR\nTbUkSZLUyKZakiRJamRTLUmSJDWyqZYkSZIa2VRLkiRJjWyqJUmSpEY21ZIkSVIjm2pJkiSpkU21\nJEmaSLOzs8zOzo67DAmwqZYkSZKa2VRLkiRJjWyqJUmSpEY21ZIkSVKjleMuQJIkSctfTs6ObXhV\n2/Z1Yu3Y824nj1RLkiRJjWyqJUmSpEY21ZIkSVIjm2pJkiSpkU21JEmS1MimWpIkSWpkUy1JkiQ1\nGllTneR+SS5M8pUklyV5Qb/8Xkk+muSK/vvuo6pJkiRJGoZRHqm+DfjDqjoQeAzw/CQHAscDF1TV\nAcAF/X1JkiRpYoysqa6q66vqC/3t7wGXA6uBpwJn9cPOAo4YVU2SJEnSMIxlTnWS/YBfBD4L7FVV\n1/erbgD2GkdNkiRJ0o4aeVOd5G7A3wP/b1V9d3BdVRUw5wXak6xLsiHJhk2bNo2gUkmSJGnbjLSp\nTrIzXUP97qp6f7/4m0n27tfvDdw417ZVdXpVzVTVzKpVq0ZTsCRJkrQNRnn2jwBnAJdX1esHVp0H\nHNPfPgY4d1Q1SZIkScOwcoTP9VjgWcCXk2zsl/0RcCpwdpLnAlcDR42wJkmSJKnZyJrqqvokkHlW\nHzKqOiRJkqRhG+WRakmSJAE5eb7jjFtxVdv2deKc54PQEHiZckmSJKmRTbUkSZLUyKZakqRlYHZ2\nltnZ2XGXIU0tm2pJkiSpkU21JEmS1MimWpIkSWpkUy1JkiQ1sqmWJEmSGtlUS5IkSY1sqiVJkqRG\nNtWSJElSI5tqSZIkqZFNtSRJktTIplqSJElqZFMtSZIkNbKpliRJkhqtHHcBkiRpuuXk7NiGV7Vt\nXyfWjj2vNAePVEuSJEmNbKolSZKkRjbVkiRJUiObakmSJKmRTbUkSZLUyKZakiRJamRTLUmSJDWy\nqZYkSZIa2VRLkiRJjWyqJUmSpEYja6qTvD3JjUkuHVh2ryQfTXJF/333UdUjSVq+ZmdnmZ2dHXcZ\nkqbIKI9UnwkcvsWy44ELquoA4IL+viRJkjRRVo7qiarqoiT7bbH4qcBsf/ssYD3w0lHVJEmSpCXu\n2HEXsG3GPad6r6q6vr99A7DXfAOTrEuyIcmGTZs2jaY6SZIkaRuMu6n+qaoqoBZYf3pVzVTVzKpV\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x104d96128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "results.plot(\n",
    "    confidence_interval=98,\n",
    "    figsize=(12, 14)\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "2012-01-02 GAS\n",
      "Price:    19.41\n",
      "Delta:     0.00\n",
      "Hedge:     0.00 ± 0.00\n",
      "Cash:     -0.00 ± 0.00\n",
      "\n",
      "2012-01-02 POWER\n",
      "Price:    14.01\n",
      "Delta:     0.00\n",
      "Hedge:     0.00 ± 0.00\n",
      "Cash:     -0.00 ± 0.00\n",
      "\n",
      "2012-01-03 GAS\n",
      "Price:    10.50\n",
      "Delta:    -0.01\n",
      "Hedge:     0.01 ± 0.00\n",
      "Cash:     -0.09 ± 0.03\n",
      "\n",
      "2012-01-03 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.00\n",
      "Hedge:    -0.00 ± 0.00\n",
      "Cash:      0.04 ± 0.02\n",
      "\n",
      "2012-01-04 GAS\n",
      "Price:    10.30\n",
      "Delta:    -0.01\n",
      "Hedge:     0.01 ± 0.00\n",
      "Cash:     -0.09 ± 0.03\n",
      "\n",
      "2012-01-04 POWER\n",
      "Price:    11.01\n",
      "Delta:     0.01\n",
      "Hedge:    -0.01 ± 0.00\n",
      "Cash:      0.11 ± 0.03\n",
      "\n",
      "2012-01-05 GAS\n",
      "Price:    10.10\n",
      "Delta:    -0.83\n",
      "Hedge:     0.85 ± 0.00\n",
      "Cash:     -8.29 ± 0.08\n",
      "\n",
      "2012-01-05 POWER\n",
      "Price:     1.00\n",
      "Delta:     0.25\n",
      "Hedge:    -0.25 ± 0.00\n",
      "Cash:      0.25 ± 0.01\n",
      "\n",
      "2012-01-06 GAS\n",
      "Price:    10.20\n",
      "Delta:    -0.98\n",
      "Hedge:     1.00 ± 0.00\n",
      "Cash:     -9.95 ± 0.02\n",
      "\n",
      "2012-01-06 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.87\n",
      "Hedge:    -0.90 ± 0.00\n",
      "Cash:     13.18 ± 0.08\n",
      "\n",
      "2012-01-07 GAS\n",
      "Price:    10.20\n",
      "Delta:    -0.97\n",
      "Hedge:     1.00 ± 0.00\n",
      "Cash:     -9.95 ± 0.02\n",
      "\n",
      "2012-01-07 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.98\n",
      "Hedge:    -1.00 ± 0.00\n",
      "Cash:     14.63 ± 0.03\n",
      "\n",
      "2012-01-08 GAS\n",
      "Price:    10.21\n",
      "Delta:    -0.97\n",
      "Hedge:     1.00 ± 0.00\n",
      "Cash:     -9.95 ± 0.02\n",
      "\n",
      "2012-01-08 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.97\n",
      "Hedge:    -1.00 ± 0.00\n",
      "Cash:     14.63 ± 0.03\n",
      "\n",
      "2012-01-09 GAS\n",
      "Price:    10.20\n",
      "Delta:    -0.97\n",
      "Hedge:     1.00 ± 0.00\n",
      "Cash:     -9.95 ± 0.02\n",
      "\n",
      "2012-01-09 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.97\n",
      "Hedge:    -1.00 ± 0.00\n",
      "Cash:     14.63 ± 0.03\n",
      "\n",
      "2012-01-10 GAS\n",
      "Price:    10.21\n",
      "Delta:    -0.97\n",
      "Hedge:     1.00 ± 0.00\n",
      "Cash:     -9.95 ± 0.02\n",
      "\n",
      "2012-01-10 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.97\n",
      "Hedge:    -1.00 ± 0.00\n",
      "Cash:     14.63 ± 0.03\n",
      "\n",
      "2012-01-11 GAS\n",
      "Price:    10.21\n",
      "Delta:    -0.97\n",
      "Hedge:     1.00 ± 0.00\n",
      "Cash:     -9.95 ± 0.02\n",
      "\n",
      "2012-01-11 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.97\n",
      "Hedge:    -1.00 ± 0.00\n",
      "Cash:     14.63 ± 0.03\n",
      "\n",
      "2012-01-12 GAS\n",
      "Price:    10.21\n",
      "Delta:    -0.97\n",
      "Hedge:     1.00 ± 0.00\n",
      "Cash:     -9.95 ± 0.02\n",
      "\n",
      "2012-01-12 POWER\n",
      "Price:    15.01\n",
      "Delta:     0.97\n",
      "Hedge:    -1.00 ± 0.00\n",
      "Cash:     14.63 ± 0.03\n",
      "\n",
      "Net hedge GAS:       7.87 ± 0.01\n",
      "Net hedge POWER:    -7.16 ± 0.01\n",
      "Net hedge cash:     23.27 ± 0.13\n",
      "\n",
      "Fair value: 23.27 ± 0.13\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(results)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
